package com.shop.merchant.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shop.merchant.po.Merchant;
import com.shop.merchant.po.dto.MerchantDto;
import com.shop.po.R;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.multipart.MultipartFile;

/**
 * <p>
 * 商家信息 服务类
 * </p>
 *
 * @author banxia
 * @since 2023-02-23
 */
public interface MerchantService extends IService<Merchant> {

    /**
     * 发送验证码
     * @param phone
     * @param type:验证码用途
     */
    @GetMapping
    public R sendMessage(String phone, String type);

    /**
     * 上传文件
     * @param file
     * @return
     */
    public R uploadFile(MultipartFile file, String type);

    /**
     * 编辑用户信息
     * （1）编辑用户基本信息（手机号或account不唯一会抛异常）
     * （2）修改密码，userDto仅包含用户id
     * @param merchantDto
     * @param password
     */
    public void editMerchantInfo(MerchantDto merchantDto, String password);


    /**
     * 获取用户的个人信息
     * @return
     */
    public MerchantDto getMerchantInfo();

    /**
     * 用于实现用户的注册
     * @param userDto
     * @param password
     * @param code
     */
    public void register(MerchantDto userDto, String password, String code);

    /**
     * 用户的密码登录
     * @param account
     * @param password
     */
    public String loginByPassword(String account, String password);


    /**
     * 用户的手机验证码登录
     * @param phone
     * @param code
     * @return
     */
    public String loginByCode(String phone,String code);
}
